package com.easygem.front.mapper;

import com.easygem.common.model.front.TaskPackage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 李鹏志
 * @version 1.0
 * @Description TODO
 * @date 2024/12/23 15:56
 */
public interface TaskPackageMapper {
        /**
         *  查询所有任务包
         * @param taskPackage 任务包
         * @return 任务包列表
         */
        List<TaskPackage> getAllTaskPackage( @Param("taskPackage")TaskPackage taskPackage);

        Long getAllTaskPackage_COUNT(@Param("taskPackage")TaskPackage taskPackage);

        /**
         * 根据id查询任务包
         * @param id 任务包id
         * @return 任务包
         */
        TaskPackage getTaskPackageById(@Param("id") Long id);
                                                      ;

        /**
         * 查询所有任务包资源
         * @return 资源总数
         */
        List<TaskPackage>  getResourceTotal();


        /**
         * 根据任务包id删除资源
         * @param taskPackageId 任务包id
         * @return 删除的数量
         */
        int delByTPResourceId(Integer taskPackageId);

        /**
         * 删除所有任务包创建人状态=-2的任务包数据
         * @return 删除的数量
         */
        int delTPResourceByUserStatus();

        /**
         * 根据任务包名查询任务包id
         * @param taskPackageName 任务包编号
         * @return 任务包id
         */
        Integer getTaskPackageIdByName(@Param("taskPackageName") String taskPackageName);

        /**
         * 添加任务包
         * @param taskPackage 任务包
         * @return 添加的数量
         */
        int addTaskPackage(TaskPackage taskPackage);

        /**
         * 根据用户id查询任务包集合
         * @param userId 用户id集合
         * @return 任务包id集合
         */
        List<Long> getTaskPackageIdByUserIds(@Param("userId") Long userId);

        /**
         * 更新任务包
         * @param taskPackage
         * @return
         */
        int updateTaskPackage(TaskPackage taskPackage);
}
